home *** CD-ROM | disk | FTP | other *** search
- /*
- File: HFSLetter.h
-
- Copyright: © 1991-1994 by Apple Computer, Inc.
- All rights reserved.
-
- Part of the AOCE Sample SMSAM Package. Consult the license
- which came with this software for your specific legal rights.
-
- */
-
-
-
- #ifndef __HFSLETTER__
- #define __HFSLETTER__
-
- #ifndef __LETTER__
- #include "Letter.h"
- #endif
-
- class TVirtualFolder;
- class TVirtualFile;
- class TRecipient;
- class THFSRecipient;
-
- /***********************************|****************************************/
-
- class THFSLetter : public TLetter
- {
- public:
- THFSLetter(TVirtualFile* theContent, TVirtualFolder* theEnclosure,RString& theSubject, RString& sendTo);
- virtual ~THFSLetter();
-
- public:
- virtual Boolean GetLetterID (BLJLetterID& letterID) const;
- virtual Boolean GetReplyID (BLJLetterID& replyID) const;
- virtual Boolean GetConversationID (BLJLetterID& conversationID) const;
-
- virtual Boolean GetSendTimeStamp (BLJTime& sendTime) const;
-
- virtual Boolean GetLetterPriority (TLetter::LetterPriority& priority) const;
-
- virtual Boolean GetSubject (TRString& subject) const;
-
- // What type of letter is this?
- virtual Boolean IsLetterAutoForwarded (Boolean& yesItIs) const;
- virtual Boolean IsLetterAutoReply (Boolean& yesItIs) const;
- virtual Boolean CanLetterBeAutoForwarded (Boolean& yesItCan) const;
-
- virtual unsigned short GetRecipientCount(RecipientTypeSet recipientType) const;
- virtual TRecipient* GetRecipient (RecipientTypeSet recipientType, unsigned short index) const;
-
- //
- // RECIPIENT REPORTS METHODS
- // =========================
- //
- virtual Boolean GetRecipientStatus(RecipientTypeSet recipientType, unsigned short index, RecipientStatusSet& status) const;
- virtual Boolean SetRecipientStatus(RecipientTypeSet recipientType, unsigned short index, RecipientStatusSet status);
- virtual unsigned short GetUnknownRecipientCount() const;
-
- // These routines return booleans related to the reports requested about this letter.
- virtual Boolean DeliveryReceiptRequested(Boolean &yesItIs) const;
- virtual Boolean NonDeliveryReportRequested (Boolean& yesItIs) const;
- virtual Boolean EncloseOriginalLetterInReport (Boolean &yesItIs) const;
-
- //
- // LETTER CONTENT METHODS
- // ======================
- //
- virtual unsigned long GetContentTypeCount ( ) const;
- virtual OSType GetContentType ( unsigned long i ) const;
-
- virtual unsigned long GetSegmentCount( OSType contentType ) const;
- virtual Boolean GetSegmentData( OSType contentType, unsigned long index, unsigned long offset,void *data, long& maximumDataSize ) const;
- virtual Boolean GetSegmentInfo( OSType contentType, unsigned long index, BLJLetterBlockType& blockType, long& blockLength ) const;
-
- // This call returns information about the enclosures in the letter
- virtual TVirtualFolder* GetEnclosuresFolder() const;
-
- // This call returns another letter which is 'nested' inside of the current letter.
- virtual unsigned short GetNestedLetterCount() const;
- virtual TLetter* GetNestedLetter(unsigned short index) const;
-
- // Debugging methods
- virtual ostream& DescribeSubclass(ostream& s) const;
- virtual ostream& operator >> (ostream& s) const;
-
- private:
- TVirtualFile* fVFile;
- RString fSubject;
- THFSRecipient* fSendTo;
- THFSRecipient* fSentFrom;
- TVirtualFolder* fEnclosure;
- BLJLetterID fLetterID;
- unsigned long fSendTime;
- };
-
- /***********************************|****************************************/
-
- #endif // __HFSLETTER__
-